﻿using System;

namespace EssIL
{
    public static class FlagTypeExtensions
    {
        public static bool Has<T>(this T value, T flag) where T : struct
        {
            throw new NotImplementedException();
        }

        public static bool HasFlag(this byte value, byte flag)
        {
            throw new NotImplementedException();
        }

        public static bool HasFlag(this short value, short flag)
        {
            throw new NotImplementedException();
        }

        public static bool HasFlag(this int value, int flag)
        {
            throw new NotImplementedException();
        }

        public static bool HasFlag(this long value, long flag)
        {
            throw new NotImplementedException();
        }

        public static bool HasFlag(this sbyte value, sbyte flag)
        {
            throw new NotImplementedException();
        }

        public static bool HasFlag(this ushort value, ushort flag)
        {
            throw new NotImplementedException();
        }

        public static bool HasFlag(this uint value, uint flag)
        {
            throw new NotImplementedException();
        }

        public static bool HasFlag(this ulong value, ulong flag)
        {
            throw new NotImplementedException();
        }

        public static bool HasFlagUnchecked<T>(T value, T flag) where T : struct
        {
            throw new NotImplementedException();
        }

        public static bool? TestFlag(this byte value, byte flag)
        {
            throw new NotImplementedException();
        }

        public static bool? TestFlag(this short value, short flag)
        {
            throw new NotImplementedException();
        }

        public static bool? TestFlag(this int value, int flag)
        {
            throw new NotImplementedException();
        }

        public static bool? TestFlag(this long value, long flag)
        {
            throw new NotImplementedException();
        }

        public static bool? TestFlag(this sbyte value, sbyte flag)
        {
            throw new NotImplementedException();
        }

        public static bool? TestFlag(this ushort value, ushort flag)
        {
            throw new NotImplementedException();
        }

        public static bool? TestFlag(this uint value, uint flag)
        {
            throw new NotImplementedException();
        }

        public static bool? TestFlag(this ulong value, ulong flag)
        {
            throw new NotImplementedException();
        }

        public static bool? TestFlag<T>(this T value, T flag) where T : struct
        {
            throw new NotImplementedException();
        }

        public static bool? TestFlagUnchecked<T>(T value, T flag) where T : struct
        {
            throw new NotImplementedException();
        }
    }
}
